package com.quanyan.pay.api.alipay.vo;

import com.quanyan.pay.entity.AlipayConfigAccount;
import com.quanyan.pay.vo.AliBaseReqVo;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * Created by Zheng.Ke
 * Date 2017/3/18.
 * 具体参见文档 https://doc.open.alipay.com/doc2/detail.htm?treeId=203&articleId=105463&docType=1
 */
public class AliTradeWapPayReqVo extends AliBaseReqVo {
    /** 对一笔交易的具体描述信息 */
    private String body;
    /** 商品的标题/交易标题/订单标题/订单关键字等(展示给用户看的) */
    @NotNull
    private String subject;
    /** 商户网站唯一订单号 */
    @NotNull
    private String out_trade_no;
    /** 该笔订单允许的最晚付款时间 */
    private String timeout_express;
    /** 订单总金额(单位为元,精确到小数点后两位) */
    @NotNull
    private BigDecimal total_amount;
    /** 收款支付宝用户ID */
    private String seller_id;
    /** 针对用户授权接口 */
    private String auth_token;
    /** 销售产品码 */
    private String product_code = "QUICK_WAP_PAY";
    /** 商品主类型 */
    private String goods_type;
    /** 公用回传参数 */
    private String passback_params;
    /** 优惠参数 */
    private String promo_params;
    /** 业务扩展参数 */
    private String extend_params;
    /** 可用渠道 */
    private String enable_pay_channels;
    /** 禁用渠道 */
    private String disable_pay_channels;
    /** 商户门店编号 */
    private String store_id;

    public AliTradeWapPayReqVo(AlipayConfigAccount alipayConfigAccount) {
        super(alipayConfigAccount);
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getOut_trade_no() {
        return out_trade_no;
    }

    public void setOut_trade_no(String out_trade_no) {
        this.out_trade_no = out_trade_no;
    }

    public String getTimeout_express() {
        return timeout_express;
    }

    public void setTimeout_express(String timeout_express) {
        this.timeout_express = timeout_express;
    }

    public BigDecimal getTotal_amount() {
        return total_amount;
    }

    public void setTotal_amount(BigDecimal total_amount) {
        this.total_amount = total_amount;
    }

    public String getSeller_id() {
        return seller_id;
    }

    public void setSeller_id(String seller_id) {
        this.seller_id = seller_id;
    }

    public String getAuth_token() {
        return auth_token;
    }

    public void setAuth_token(String auth_token) {
        this.auth_token = auth_token;
    }

    public String getProduct_code() {
        return product_code;
    }

    public void setProduct_code(String product_code) {
        this.product_code = product_code;
    }

    public String getGoods_type() {
        return goods_type;
    }

    public void setGoods_type(String goods_type) {
        this.goods_type = goods_type;
    }

    public String getPassback_params() {
        return passback_params;
    }

    public void setPassback_params(String passback_params) {
        this.passback_params = passback_params;
    }

    public String getPromo_params() {
        return promo_params;
    }

    public void setPromo_params(String promo_params) {
        this.promo_params = promo_params;
    }

    public String getExtend_params() {
        return extend_params;
    }

    public void setExtend_params(String extend_params) {
        this.extend_params = extend_params;
    }

    public String getEnable_pay_channels() {
        return enable_pay_channels;
    }

    public void setEnable_pay_channels(String enable_pay_channels) {
        this.enable_pay_channels = enable_pay_channels;
    }

    public String getDisable_pay_channels() {
        return disable_pay_channels;
    }

    public void setDisable_pay_channels(String disable_pay_channels) {
        this.disable_pay_channels = disable_pay_channels;
    }

    public String getStore_id() {
        return store_id;
    }

    public void setStore_id(String store_id) {
        this.store_id = store_id;
    }
}
